﻿using UIOC.Attributes;
using UIOC.Tests.Services;

//[AutoImplement(typeof(UIOC.Tests.Objects.Object))]
public interface IUIOCGlobalObject {

    void Minus(int value);

    int ServiceValue { get; }

    ITestService TestService { get; }
}

[Implement(typeof(IUIOCGlobalObject))]
public partial class UIOCGlobalObject : UIOC.Object, IUIOCGlobalObject {

    [Autowired]
    private ITestService m_TestService;
    public ITestService TestService => m_TestService;

    public int ServiceValue => m_TestService.Value;

    public void Minus(int value) {
        m_TestService.Minus(value);
    }
}